package com.example.servicewallet.service;

import com.example.servicewallet.entity.TUser;
import com.example.servicewallet.entity.TWallet;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.servicewallet.vo.*;

import java.math.BigDecimal;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author admin
 * @since 2023-02-08
 */
public interface TWalletService extends IService<TWallet> {

    /**
     * 绑定钱包
     */
    void bindWallet(RegisterWalletVo walletVo);

    /**
     * 手机号查询钱包信息
     */
    TWallet selectWalletByMobile(String mobile);

    /**
     * 充值
     */
    Map<String, Object> rechargeWallet(RechargeVo rechargeVo);

    /**
     * 查询充值总余额
     */
    Map<String, Object> selectRechargeTotal(RechargeVo rechargeVo);

    /**
     * 查询消费总余额
     */
    Map<String, Object> selectPaymentTotal(PayWalletVo payWalletVo);

    /**
     * 查询提现总余额
     */
    Map<String, Object> selectWithDraw(WithDrawVo withDrawVo);

    /**
     * 查询退款总金额
     */
    Map<String, Object> selectReturn(ReturnWalletVo returnWalletVo);

    /**
     * 查询钱包余额
     */
    Map<String, Object> searchBalance(BalanceVo balanceVo);

    /**
     * 消费钱包
     */
    Map<String, Object> payWallet(PayWalletVo payWalletVo);

    /**
     * 退款钱包
     */
    Map<String, Object> returnWallet(ReturnWalletVo returnWalletVo);

    /**
     * 查询钱包变动明细
     */
    Map<String, Object> selectAll(SelectVo selectVo);
}
